/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package za.ac.cput.sevenpriciples.lsp.conf;

import org.springframework.beans.factory.annotation.Configurable;
import org.springframework.context.annotation.Bean;
import za.ac.cput.sevenpriciples.lsp.lsp.compliance.Employee;
import za.ac.cput.sevenpriciples.lsp.lsp.compliance.impl.DriverImp;
import za.ac.cput.sevenpriciples.lsp.lsp.compliance.impl.DriverOverImp;
import za.ac.cput.sevenpriciples.lsp.lsp.compliance.impl.PrintDetails;
import za.ac.cput.sevenpriciples.lsp.lsp.violation.impl.DriverImpl;
import za.ac.cput.sevenpriciples.lsp.lsp.violation.impl.DriverOverTimeImpl;
import za.ac.cput.sevenpriciples.lsp.lsp.violation.impl.PrintDriverSalary;


/**
 *
 * @author Bongie
 */
@Configurable
public class AppConfig {
    @Bean(name = "driver")
    public DriverImpl driver(){
        return new DriverImpl(null, null, 0);
    }
    
    @Bean(name = "overTimeDriver")
    public DriverOverTimeImpl overDriver(){
        return new DriverOverTimeImpl(null, null, 0, 0);
    }
    
    @Bean(name = "newDriver")
    public Employee newDriver(){
        return new DriverImp(null, null, 0);
    }
    
     @Bean(name = "newOverTimeDriver")
     public Employee newOverTimeDriver(){
         return new DriverOverImp(null, null, 0, 0);
     }
     
     @Bean(name = "print")
     public PrintDriverSalary print(){
         return new PrintDriverSalary();
     }
     
     @Bean PrintDetails printDetails(){
         return new PrintDetails();
     }
}
